package de.jmda.gen.java;

import java.util.Collection;
import java.util.List;

import de.jmda.gen.CompoundGenerator;

/**
 * {@link #getGenerators()} provides a list of instance method declaration
 * generators. A Java type declaration (see {@link
 * DeclaredTypeGenerator}) can have multiple instance method
 * declarations.
 *
 * @author roger.jmda@gmail.com
 */
public interface InstanceMethodDeclarationsGenerator
		extends CompoundGenerator
{
	List<InstanceMethodGenerator> getGenerators();

	/**
	 * Convenience method to add an {@link InstanceMethodGenerator} to
	 * {@link #getGenerators()}.
	 *
	 * @param generator
	 * @return as specified by {@link Collection#add(Object)}
	 */
	boolean add(InstanceMethodGenerator generator);
}